package com.resou.reader.mine;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.support.v4.app.FragmentManager;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.resou.reader.api.entry.LoginData;
import com.resou.reader.base.BasePresenter;
import com.resou.reader.base.BaseView;
import com.resou.reader.view.CircleImageView;

import org.raphets.roundimageview.RoundImageView;

/**
 * Author: 萤火虫
 * E-mail:  Allensuns@163.com
 * Description: 个人信息VIEW层与Presenter层的接口包装类
 * CreateTime: 2019-04 -08
 **/
public interface IHomeUserCenterInterface {


    interface IHomeUserCenterView extends BaseView {

        /**
         * 更新用户信息
         *
         * @param loginData
         */
        void initUserInfo(LoginData loginData);

        /**
         * 是否登录  true 登录 false  未登录
         *
         * @return
         */
        boolean isAlreadyLogin();


        /**
         * 更新用户状态
         */
        void updataView(boolean islogin);

        /**
         * 显示版本更新
         *
         * @param url
         */
        void showUpdata(String url);

        void userVipState(boolean isVip);

        /**
         * 安装apk
         *
         */
        void InstallApk(String path);

        HomeUserCenterFragment getContent();
    }

    interface IHomeUserCenterPresenter extends BasePresenter {

        boolean isAlreadyLogin(FragmentManager fragmentManager);

        /**
         * 更新用户信息
         *
         * @param data
         * @param mHeadIv
         * @param mNameTv
         * @param tvHotTicket
         * @param tvHotMoney
         */
        void initUserInfo(LoginData data, RoundImageView mHeadIv, TextView mNameTv, TextView tvHotTicket, TextView tvHotMoney);


        /**
         * 登录与未登录的显示状态
         *
         * @param isLogin
         * @param rlLogined
         * @param rlLook
         */
        void updataView(boolean isLogin, RelativeLayout rlLogined, RelativeLayout rlLook);

        /**
         * 版本更新
         */
        void updataVersion();


        /**
         * 显示更新弹窗
         *
         * @param dialog
         * @param builder
         * @param downUrl 下载地址
         */
        void showUpdataDialog(AlertDialog dialog, AlertDialog.Builder builder, String downUrl);

        /**
         * 下载apk
         *
         * @param url
         */
        void downApk(String url,TextView tvProgress);
    }
}
